<template>
  <div class="content">
    <div class="input_setting">
      <div class="input_left">
        <span>Input Setting</span>
      </div>
      <div class="input_right">
        <el-form label-width="150px" :model="ruleForm" :rules="rules" ref="ruleForm">
          <el-form-item class="bgc" label="Accent" prop="accent">
            <el-radio-group v-model="ruleForm.accent">
              <el-radio label="Mandarin(Standard)"></el-radio>
              <el-radio label="Mandarin(Taiwan)"></el-radio>
              <el-radio label="Mandarin(Erhua)"></el-radio>
            </el-radio-group>
          </el-form-item>

          <el-form-item class="bgc" label="Speaker" prop="speaker">
            <el-radio-group v-model="ruleForm.speaker">
              <el-radio label="Single"></el-radio>
              <el-radio label="Multiple"></el-radio>
            </el-radio-group>
          </el-form-item>

          <!-- 文本上传 -->
          <!-- <el-form-item class="bgc" label="Custom Dictionary">
            <el-input v-model="ruleForm.custom"
              placeholder="If you want to use your own dictionary,upload it here."></el-input>
          </el-form-item> -->

          <el-form-item class="bgc" label="Custom Dictionary">
            <el-upload class="upload-demo bjc_upload" :show-file-list="false" action="" accept=".txt"
              :file-list="fileList" :http-request="handleUpload" :before-upload="beforeUpload">
              <el-button slot="trigger" size="small" type="primary">
                {{ sentence }}
              </el-button>
            </el-upload>
          </el-form-item>

        </el-form>
      </div>
    </div>

    <div class="output_setting">
      <div class="output_left">
        <span>Output Setting</span>
      </div>
      <div class="output_right">
        <el-form :model="ruleForm" :rules="rules" ref="ruleForm">
          <el-form-item prop="checkList">
            <el-checkbox-group v-model="ruleForm.checkList">
              <el-checkbox class="checkbox" name="type" label="Phoneme"></el-checkbox>
              <el-checkbox class="checkbox" name="type" label="Pinyin"></el-checkbox>
              <el-checkbox class="checkbox" name="type" label="Character"></el-checkbox>
              <el-checkbox class="checkbox" name="type" label="Word"></el-checkbox>
              <el-checkbox class="checkbox" name="type" label="Sentence"></el-checkbox>
            </el-checkbox-group>
          </el-form-item>

          <div class="right_select">
            <el-form-item label="Format of Phoneme">
              <el-select v-model="ruleForm.phoneme" placeholder="——select——">
                <el-option label="MFA opinioned IPA" value="MFA opinioned IPA"></el-option>
                <el-option label="Modern IPA" value="Modern IPA"></el-option>
                <el-option label="Traditional IPA" value="Traditional IPA"></el-option>
              </el-select>
            </el-form-item>

            <el-form-item label="Format of Pinyin">
              <el-select v-model="ruleForm.pinyin" placeholder="——select——">
                <el-option label="Tone Marks" value="Tone Marks"></el-option>
                <el-option label="Without Tone" value="Without Tone"></el-option>
                <el-option label="Tone Numbers" value="Tone Numbers"></el-option>

                <el-option label="Tone Middle Numbers" value="Tone Middle Numbers"></el-option>
                <el-option label="Initials" value="Initials"></el-option>
                <el-option label="Finals with Tone Marks" value="Finals with Tone Marks"></el-option>
                <el-option label="Finals without Tone" value="Finals without Tone"></el-option>
                <el-option label="Finals with Tone Numbers" value="Finals with Tone Numbers"></el-option>
                <el-option label="Finals with Tone Middle Numbers" value="Finals with Tone Middle Numbers"></el-option>
              </el-select>
            </el-form-item>

            <el-form-item label="Format of Character">
              <el-select v-model="ruleForm.character" placeholder="——select——">
                <el-option label="Simple" value="Simple"></el-option>
                <el-option label="Traditional" value="Traditional"></el-option>
              </el-select>
            </el-form-item>
          </div>

        </el-form>


      </div>
    </div>

    <div class="next">
      <el-button @click="handleNext('ruleForm')">
        Next
      </el-button>
    </div>


    <div class="mume markdown-preview content_mume">
      <h1 class="mume-header" id="exclamation-examples-of-the-formats">
        &#x2757;&#xFE0F; Examples of the formats
      </h1>

      <h2 class="mume-header" id="input-settings">Input settings</h2>

      <p><img src="@/assets/img/input_setting.png" alt title="input setting" /></p>
      <h2 class="mume-header" id="output-settings">Output settings</h2>

      <p><img src="@/assets/img/output_setting.png" alt title="output setting" /></p>
    </div>

  </div>
</template>

<script>
import { text_align } from "@/api/tools.js";
export default {
  name: 'set',
  data() {
    return {
      ruleForm: {
        accent: 'Mandarin(Standard)',
        speaker: 'Single',
        custom: '',
        checkList: ['Phoneme', 'Pinyin', 'Character', 'Word', 'Sentence'],
        // checkList: [],
        phoneme: 'MFA opinioned IPA',
        pinyin: 'Tone Marks',
        character: 'Simple',
        newCode: null, // 上传配置文件是否成功
      },
      rules: {
        accent: [
          { required: true, message: 'Please select', trigger: 'blur' },
        ],
        speaker: [
          { required: true, message: 'Please select', trigger: 'blur' },
        ],
        checkList: [
          // { type: 'array', validator: validateCheckList, trigger: 'change' }
          { type: 'array', required: true, message: 'Please select at least one activity nature', trigger: 'change' }
        ]
      },
      fileList: [],
      sentence: 'If you want to use your own dictionary,upload it here.', // 按钮上的那一句话
    }
  },
  methods: {
    handleNext(formName) {
      this.$refs[formName].validate(async (valid) => {
        if (valid) {
          // 发送网络请求了
          // console.log(':: -- ', this.ruleForm)
          let timer = null;

          await this.Qtext_align()

          // this.$router.push({ path: '/download', name: 'download' })

          this.$store.commit('handleSetPage', {
            item: {
              newName: "Download",
              show: false,
              path: "/tools/download",
              name: "download",
            },
            index: 2,
            router: this.$router
          })

          if (this.newCode == 213) {
            timer = setTimeout(() => {
              this.Qtext_align()
            }, 5000)
          } else {
            clearTimeout(timer)
          }

        } else {
          return false;
        }
      });
    },

    // 发送配置请求
    Qtext_align() {
      const { character, phoneme, pinyin, checkList } = this.ruleForm || {};
      let params = {
        ...this.ruleForm,
        uemail: this.$store.state.loginSucInfo.email,
        phonemeText: phoneme,
        pinyinText: pinyin,
        characterText: character,

        phoneme: checkList.includes('Phoneme') ? 1 : 0,
        pinyin: checkList.includes('Pinyin') ? 1 : 0,
        character: checkList.includes('Character') ? 1 : 0,
        word: checkList.includes('Word') ? 1 : 0,
        sentence: checkList.includes('Sentence') ? 1 : 0,
        bid: this.$store.state.uploadDataBid.bid,
        uid: this.$store.state.uploadDataBid.uid,
      }

      delete params.checkList;
      delete params.newCode;

      text_align(params).then(res => {
        const { code, data } = res || {}
        this.newCode = code

        if (code == 200) {
          this.$message.success("The upload is successful")
          this.$store.commit('handleDownloadLink', res)
          // this.$router.push({ path: '/download', name: 'download' })
        } else {
          this.$store.commit('handleDownloadLink', '500')
        }
        
        console.log('res', res)
      }).catch(err => { console.log('err', err); this.$store.commit('handleDownloadLink', '500') })
    },
    // 文件上传
    async handleUpload(file) {
      // console.log('file', file)
      // console.log('file', file.file.name)
      const fileText = await this.handleTextFile(file.file)
      this.ruleForm.custom = fileText
      // console.log('--11--', fileText)
      // this.sentence = fileText
      this.sentence = file?.file?.name
    },
    handleTextFile(file) {
      return new Promise((resolve, reject) => {
        const reader = new FileReader();
        reader.readAsText(file, "UTF-8");
        reader.onload = function (e) {
          resolve(e.target.result)
        }
      })
    },
    beforeUpload() {
    }
  }
}
</script>

<style lang="less" scoped>
.content {
  padding: 0px 20px;
  margin-top: 20px;

  .input_setting {
    padding: 5px;
    display: flex;
    border: 1px solid #cacaca;

    .input_left {
      width: 20%;
      border-right: 1px solid #cacaca;
      white-space: nowrap;
      padding: 15px;

      span {
        padding: 5px;
        background-color: #b7d6a3;
        color: #fff;
      }
    }

    .input_right {
      width: 80%;
      margin-right: 50px;

      .bgc {
        background-color: #a1b8e1 !important;
        border-radius: 8px;
        margin: 10px 0px;
        padding: 5px 0;

        .bjc_upload {
          button {
            width: 400px;
            background-color: #fff;
            color: #000;
          }
        }
      }

      .el-form-item {
        display: flex;

        .el-input {
          width: 400px;

          /deep/.el-input__inner {
            height: 30px !important;
          }
        }
      }
    }
  }


  .output_setting {
    display: flex;
    border: 1px solid #cacaca;
    padding: 5px;

    .output_left {
      width: 20%;
      border-right: 1px solid #cacaca;
      white-space: nowrap;
      padding: 15px;

      span {
        padding: 5px;
        background-color: #b7d6a3;
        color: #fff;
      }
    }

    .output_right {
      position: relative;
      width: 80%;
      padding: 5px;

      .checkbox {
        height: 63px;
      }

      .el-checkbox-group {
        display: flex;
        flex-direction: column;
        width: 100px;
      }

      .right_select {
        position: absolute;
        // background-color: skyblue;
        top: 6px;
        left: 125px;
        width: 375px;
      }
    }
  }

  .next {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    width: 100%;
    margin-top: 15px;

    button {
      background-color: #70ad47;
      color: #fff;
      width: 100px;
    }

  }
}

.content_mume {
  max-width: 1200px;
  margin: 0 auto;
}

code[class*="language-"],
pre[class*="language-"] {
  color: #333;
  background: none;
  font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.4;

  -moz-tab-size: 8;
  -o-tab-size: 8;
  tab-size: 8;

  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}

/* Code blocks */
pre[class*="language-"] {
  padding: .8em;
  overflow: auto;
  /* border: 1px solid #ddd; */
  border-radius: 3px;
  /* background: #fff; */
  background: #f5f5f5;
}

/* Inline code */
:not(pre)>code[class*="language-"] {
  padding: .1em;
  border-radius: .3em;
  white-space: normal;
  background: #f5f5f5;
}

.token.comment,
.token.blockquote {
  color: #969896;
}

.token.cdata {
  color: #183691;
}

.token.doctype,
.token.punctuation,
.token.variable,
.token.macro.property {
  color: #333;
}

.token.operator,
.token.important,
.token.keyword,
.token.rule,
.token.builtin {
  color: #a71d5d;
}

.token.string,
.token.url,
.token.regex,
.token.attr-value {
  color: #183691;
}

.token.property,
.token.number,
.token.boolean,
.token.entity,
.token.atrule,
.token.constant,
.token.symbol,
.token.command,
.token.code {
  color: #0086b3;
}

.token.tag,
.token.selector,
.token.prolog {
  color: #63a35c;
}

.token.function,
.token.namespace,
.token.pseudo-element,
.token.class,
.token.class-name,
.token.pseudo-class,
.token.id,
.token.url-reference .token.variable,
.token.attr-name {
  color: #795da3;
}

.token.entity {
  cursor: help;
}

.token.title,
.token.title .token.punctuation {
  font-weight: bold;
  color: #1d3e81;
}

.token.list {
  color: #ed6a43;
}

.token.inserted {
  background-color: #eaffea;
  color: #55a532;
}

.token.deleted {
  background-color: #ffecec;
  color: #bd2c00;
}

.token.bold {
  font-weight: bold;
}

.token.italic {
  font-style: italic;
}


/* JSON */
.language-json .token.property {
  color: #183691;
}

.language-markup .token.tag .token.punctuation {
  color: #333;
}

/* CSS */
code.language-css,
.language-css .token.function {
  color: #0086b3;
}

/* YAML */
.language-yaml .token.atrule {
  color: #63a35c;
}

code.language-yaml {
  color: #183691;
}

/* Ruby */
.language-ruby .token.function {
  color: #333;
}

/* Markdown */
.language-markdown .token.url {
  color: #795da3;
}

/* Makefile */
.language-makefile .token.symbol {
  color: #795da3;
}

.language-makefile .token.variable {
  color: #183691;
}

.language-makefile .token.builtin {
  color: #0086b3;
}

/* Bash */
.language-bash .token.keyword {
  color: #0086b3;
}

/* highlight */
pre[data-line] {
  position: relative;
  padding: 1em 0 1em 3em;
}

pre[data-line] .line-highlight-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  background-color: transparent;
  display: block;
  width: 100%;
}

pre[data-line] .line-highlight {
  position: absolute;
  left: 0;
  right: 0;
  padding: inherit 0;
  margin-top: 1em;
  background: hsla(24, 20%, 50%, .08);
  background: linear-gradient(to right, hsla(24, 20%, 50%, .1) 70%, hsla(24, 20%, 50%, 0));
  pointer-events: none;
  line-height: inherit;
  white-space: pre;
}

pre[data-line] .line-highlight:before,
pre[data-line] .line-highlight[data-end]:after {
  content: attr(data-start);
  position: absolute;
  top: .4em;
  left: .6em;
  min-width: 1em;
  padding: 0 .5em;
  background-color: hsla(24, 20%, 50%, .4);
  color: hsl(24, 20%, 95%);
  font: bold 65%/1.5 sans-serif;
  text-align: center;
  vertical-align: .3em;
  border-radius: 999px;
  text-shadow: none;
  box-shadow: 0 1px white;
}

pre[data-line] .line-highlight[data-end]:after {
  content: attr(data-end);
  top: auto;
  bottom: .4em;
}

html body {
  font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  background-color: #fff;
  overflow: initial;
  box-sizing: border-box;
  word-wrap: break-word
}

html body>:first-child {
  margin-top: 0
}

html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6 {
  line-height: 1.2;
  margin-top: 1em;
  margin-bottom: 16px;
  color: #000
}

html body h1 {
  font-size: 2.25em;
  font-weight: 300;
  padding-bottom: .3em
}

html body h2 {
  font-size: 1.75em;
  font-weight: 400;
  padding-bottom: .3em
}

html body h3 {
  font-size: 1.5em;
  font-weight: 500
}

html body h4 {
  font-size: 1.25em;
  font-weight: 600
}

html body h5 {
  font-size: 1.1em;
  font-weight: 600
}

html body h6 {
  font-size: 1em;
  font-weight: 600
}

html body h1,
html body h2,
html body h3,
html body h4,
html body h5 {
  font-weight: 600
}

html body h5 {
  font-size: 1em
}

html body h6 {
  color: #5c5c5c
}

html body strong {
  color: #000
}

html body del {
  color: #5c5c5c
}

html body a:not([href]) {
  color: inherit;
  text-decoration: none
}

html body a {
  color: #08c;
  text-decoration: none
}

html body a:hover {
  color: #00a3f5;
  text-decoration: none
}

html body img {
  max-width: 100%
}

html body>p {
  margin-top: 0;
  margin-bottom: 16px;
  word-wrap: break-word
}

html body>ul,
html body>ol {
  margin-bottom: 16px
}

html body ul,
html body ol {
  padding-left: 2em
}

html body ul.no-list,
html body ol.no-list {
  padding: 0;
  list-style-type: none
}

html body ul ul,
html body ul ol,
html body ol ol,
html body ol ul {
  margin-top: 0;
  margin-bottom: 0
}

html body li {
  margin-bottom: 0
}

html body li.task-list-item {
  list-style: none
}

html body li>p {
  margin-top: 0;
  margin-bottom: 0
}

html body .task-list-item-checkbox {
  margin: 0 .2em .25em -1.8em;
  vertical-align: middle
}

html body .task-list-item-checkbox:hover {
  cursor: pointer
}

html body blockquote {
  margin: 16px 0;
  font-size: inherit;
  padding: 0 15px;
  color: #5c5c5c;
  background-color: #f0f0f0;
  border-left: 4px solid #d6d6d6
}

html body blockquote>:first-child {
  margin-top: 0
}

html body blockquote>:last-child {
  margin-bottom: 0
}

html body hr {
  height: 4px;
  margin: 32px 0;
  background-color: #d6d6d6;
  border: 0 none
}

html body table {
  margin: 10px 0 15px 0;
  border-collapse: collapse;
  border-spacing: 0;
  display: block;
  width: 100%;
  overflow: auto;
  word-break: normal;
  word-break: keep-all
}

html body table th {
  font-weight: bold;
  color: #000
}

html body table td,
html body table th {
  border: 1px solid #d6d6d6;
  padding: 6px 13px
}

html body dl {
  padding: 0
}

html body dl dt {
  padding: 0;
  margin-top: 16px;
  font-size: 1em;
  font-style: italic;
  font-weight: bold
}

html body dl dd {
  padding: 0 16px;
  margin-bottom: 16px
}

html body code {
  font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
  font-size: .85em !important;
  color: #000;
  background-color: #f0f0f0;
  border-radius: 3px;
  padding: .2em 0
}

html body code::before,
html body code::after {
  letter-spacing: -0.2em;
  content: "\00a0"
}

html body pre>code {
  padding: 0;
  margin: 0;
  font-size: .85em !important;
  word-break: normal;
  white-space: pre;
  background: transparent;
  border: 0
}

html body .highlight {
  margin-bottom: 16px
}

html body .highlight pre,
html body pre {
  padding: 1em;
  overflow: auto;
  font-size: .85em !important;
  line-height: 1.45;
  border: #d6d6d6;
  border-radius: 3px
}

html body .highlight pre {
  margin-bottom: 0;
  word-break: normal
}

html body pre code,
html body pre tt {
  display: inline;
  max-width: initial;
  padding: 0;
  margin: 0;
  overflow: initial;
  line-height: inherit;
  word-wrap: normal;
  background-color: transparent;
  border: 0
}

html body pre code:before,
html body pre tt:before,
html body pre code:after,
html body pre tt:after {
  content: normal
}

html body p,
html body blockquote,
html body ul,
html body ol,
html body dl,
html body pre {
  margin-top: 0;
  margin-bottom: 16px
}

html body kbd {
  color: #000;
  border: 1px solid #d6d6d6;
  border-bottom: 2px solid #c7c7c7;
  padding: 2px 4px;
  background-color: #f0f0f0;
  border-radius: 3px
}

@media print {
  html body {
    background-color: #fff
  }

  html body h1,
  html body h2,
  html body h3,
  html body h4,
  html body h5,
  html body h6 {
    color: #000;
    page-break-after: avoid
  }

  html body blockquote {
    color: #5c5c5c
  }

  html body pre {
    page-break-inside: avoid
  }

  html body table {
    display: table
  }

  html body img {
    display: block;
    max-width: 100%;
    max-height: 100%
  }

  html body pre,
  html body code {
    word-wrap: break-word;
    white-space: pre
  }
}

.markdown-preview {
  width: 100%;
  height: 100%;
  box-sizing: border-box
}

.markdown-preview .pagebreak,
.markdown-preview .newpage {
  page-break-before: always
}

.markdown-preview pre.line-numbers {
  position: relative;
  padding-left: 3.8em;
  counter-reset: linenumber
}

.markdown-preview pre.line-numbers>code {
  position: relative
}

.markdown-preview pre.line-numbers .line-numbers-rows {
  position: absolute;
  pointer-events: none;
  top: 1em;
  font-size: 100%;
  left: 0;
  width: 3em;
  letter-spacing: -1px;
  border-right: 1px solid #999;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.markdown-preview pre.line-numbers .line-numbers-rows>span {
  pointer-events: none;
  display: block;
  counter-increment: linenumber
}

.markdown-preview pre.line-numbers .line-numbers-rows>span:before {
  content: counter(linenumber);
  color: #999;
  display: block;
  padding-right: .8em;
  text-align: right
}

.markdown-preview .mathjax-exps .MathJax_Display {
  text-align: center !important
}

.markdown-preview:not([for="preview"]) .code-chunk .btn-group {
  display: none
}

.markdown-preview:not([for="preview"]) .code-chunk .status {
  display: none
}

.markdown-preview:not([for="preview"]) .code-chunk .output-div {
  margin-bottom: 16px
}

.scrollbar-style::-webkit-scrollbar {
  width: 8px
}

.scrollbar-style::-webkit-scrollbar-track {
  border-radius: 10px;
  background-color: transparent
}

.scrollbar-style::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background-color: rgba(150, 150, 150, 0.66);
  border: 4px solid rgba(150, 150, 150, 0.66);
  background-clip: content-box
}

html body[for="html-export"]:not([data-presentation-mode]) {
  position: relative;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  overflow: auto
}

html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview {
  position: relative;
  top: 0
}

@media screen and (min-width:914px) {
  html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview {
    padding: 2em calc(50% - 457px + 2em)
  }
}

@media screen and (max-width:914px) {
  html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview {
    padding: 2em
  }
}

@media screen and (max-width:450px) {
  html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview {
    font-size: 14px !important;
    padding: 1em
  }
}

@media print {
  html body[for="html-export"]:not([data-presentation-mode]) #sidebar-toc-btn {
    display: none
  }
}

html body[for="html-export"]:not([data-presentation-mode]) #sidebar-toc-btn {
  position: fixed;
  bottom: 8px;
  left: 8px;
  font-size: 28px;
  cursor: pointer;
  color: inherit;
  z-index: 99;
  width: 32px;
  text-align: center;
  opacity: .4
}

html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] #sidebar-toc-btn {
  opacity: 1
}

html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc {
  position: fixed;
  top: 0;
  left: 0;
  width: 300px;
  height: 100%;
  padding: 32px 0 48px 0;
  font-size: 14px;
  box-shadow: 0 0 4px rgba(150, 150, 150, 0.33);
  box-sizing: border-box;
  overflow: auto;
  background-color: inherit
}

html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar {
  width: 8px
}

html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-track {
  border-radius: 10px;
  background-color: transparent
}

html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background-color: rgba(150, 150, 150, 0.66);
  border: 4px solid rgba(150, 150, 150, 0.66);
  background-clip: content-box
}

html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc a {
  text-decoration: none
}

html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc ul {
  padding: 0 1.6em;
  margin-top: .8em
}

html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc li {
  margin-bottom: .8em
}

html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc ul {
  list-style-type: none
}

html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview {
  left: 300px;
  width: calc(100% - 300px);
  padding: 2em calc(50% - 457px - 150px);
  margin: 0;
  box-sizing: border-box
}

@media screen and (max-width:1274px) {
  html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview {
    padding: 2em
  }
}

@media screen and (max-width:450px) {
  html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview {
    width: 100%
  }
}

html body[for="html-export"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .markdown-preview {
  left: 50%;
  transform: translateX(-50%)
}

html body[for="html-export"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .md-sidebar-toc {
  display: none
}</style>
